Promoting websites based on location

ABSTRACT

A computer system, method, and media for associating locations with ranked websites are provided. The computer system includes a search engine, a log database, and a location database that are employed to respond to search requests from users by returning appropriately ranked websites to the user. The websites are ranked using the location of the website and the location of the user to select websites to receive high ranks. Additionally, the search engine includes a correction feature that reevaluates locations for a website or user when a large number of obtained locations suggest a different location than a currently associated location for the website or the user.

PRIORITY CLAIM

This application is a divisional of U.S. patent application Ser. No.12/124,975, Attorney Docket No: 323149.01/MFCP.140255, filed 21 May2008, which is hereby incorporated herein by reference in its entirety.

BACKGROUND

Conventionally, a search engine ranks websites based on a frequency ofterms within a website that matches the terms included in a user query.The conventional search engine returns the ranked websites as a resultset to the user. Additionally, the conventional search engine considersa location of a ranked website to decide whether the ranked website isof interest to the user. For instance, a website operated and located inthe United States of America would more likely be of interest to a userin the United States of America accessing the Internet from a machine inthe United States of America than a similar website operated and locatedin a foreign country. The conventional search engine is configured toreturn, within the top result set, the website operated and located inthe United States of America. The similar website located and operatedin the foreign country is not returned within the top result set.

The conventional search engine selects a location of a website byparsing a top level domain of a uniform resource locator of the websiteto extract a country identifier that corresponds to the location of thewebsite. Alternatively, the conventional search engine selects alocation of the website by identifying an internet protocol addresscorresponding to the uniform resource locator. The internet protocoladdress for the website corresponds to a specific location that isassociated with the website.

The conventional search engines introduce errors when selecting topresults using location. The conventional search engines erroneously omita website that is globally popular from the top results set. Forexample, a website that individuals all over the world frequently accessand operated but is located in the United States of America may beerroneously excluded from the top result set for users located inforeign countries. Because the website is operated and located in theUnited States of America, the conventional search engines erroneouslyomit websites from the top result set that should be included in the topresult set for the foreign countries.

SUMMARY

A computer system includes a search engine that responds to userqueries. The search engine receives the user queries and returns aresult set that includes websites that match the user query. The searchengine is configured with a location service that identifies locationsfor users and websites. The location service retrieves locations forusers and websites from a location database. In turn, the locationservice uses the locations retrieved from the location database toidentify unexpectedly popular websites. Additionally, the locationservice locates inconsistencies in the locations retrieved from thelocation database and resolves the inconsistencies in the retrievedlocations. The locations selected by the location service for users andwebsites are used to impact ranks assigned to websites that match theuser query. Accordingly, the search engine uses the location service toanalyze, among other things, popularity of the websites, locations ofthe websites, and the locations of the users to generate the top resultsthat are included in the result set.

This Summary is provided to introduce a selection of concepts in asimplified form. The selection of concepts are further described belowin the Detailed Description. This Summary is not intended to identifykey features or essential features of the claimed subject matter, nor isit intended to be used as an aid in determining the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a network diagram that illustrates an exemplary operatingenvironment;

FIG. 2 is a logic diagram that illustrates a computer-implemented methodfor associating locations with websites based on user locations;

FIG. 3 is a logic diagram that illustrates a computer-implemented methodfor associating locations with websites based on anchor locations;

FIG. 4 is a logic diagram that illustrates a computer-implemented methodfor ranking a website based on location.

DETAILED DESCRIPTION

This patent describes the subject matter for patenting with specificityto meet statutory requirements. However, the description itself is notintended to limit the scope of this patent. Rather, the inventors havecontemplated that the claimed subject matter might also be embodied inother ways, to include different steps or combinations of steps similarto the ones described in this document, in conjunction with otherpresent or future technologies. Moreover, although the terms “step” and“block” may be used herein to connote different elements of methodsemployed, the terms should not be interpreted as implying any particularorder among or between various steps herein disclosed unless and exceptwhen the order of individual steps is explicitly described. Further,embodiments are described in detail below with reference to the attacheddrawing figures, which are incorporated in their entirety by referenceherein.

As utilized herein, the term “anchors” refers to links within thecontent of a website that point to additional content, such as a websiteor other multimedia content. Additionally, as utilized herein, the term“component” refers to any combination of hardware, software, orfirmware.

A search engine is configured with location services that impact a rankfor a website matching a user query. The location service analyzeslocation data for websites and users to classify websites that areglobally popular. Moreover, the location service identifies a locationof a website by looking at locations of: users that visit the website;the top-level domain; and the locations of server devices that host thewebsite. In some embodiments, the location service selects a commonlocation associated with a large number of visitors to the website to bethe location of the website even if the website is hosted at a differentlocation. Moreover, the location service may identify a website asglobally popular when users all over the world frequently access thewebsite.

In some embodiments, the location service includes a User Location Bias(ULB) component to affect the rankings for websites that match the userquery. The ULB component identifies websites that are unexpectedlypopular for a location associated with the website. The unexpectedlypopular websites are returned to the search engine for inclusion in thetop result set generated by the search engine in response to the userquery. When the search engine includes the unexpectedly popular websitesin the top results, the rank for the unexpectedly popular websites areupdated to reflect its position in the top result set. Alternatively,the location service may use static location sources to impact the rankfor each website that is a candidate for the top result set.

Additionally, the location service includes a correction component thatidentifies inconsistencies between locations for websites received froma location database and locations for website assigned by the locationservice. The inconsistencies between the locations for websites areresolved by the correction component based on locations for users.Alternatively, the correction component identifies inconsistenciesbetween location for users received from a location database andlocations for users assigned by the location service, and theinconsistencies between the locations for users is resolved based onlocations for websites accessed by the users.

FIG. 1 is a network diagram that illustrates an exemplary operatingenvironment 100. The operating environment 100 includes a network 110, asearch engine 120, client devices 130 configured with search toolbars140, and location database 150, log data 160, location service 170, andwebsites 180, and index data 190.

The websites 180 are documents that represent HyperText Markup Languagepages or other content. The websites 180 are addressed using uniformresource locators. Additionally, the websites 180 include anchors thatlink to other websites or additional content. In an embodiment, thewebsites 180 may be formatted in extensible markup language or any othermarkup language.

The network 110 is configured to facilitate communication between theclient devices 130 and the search engine 120. The network 110 may be acommunication network, such as a wireless network, local area network,wired network, or the Internet. In an embodiment, the client devices 130communicate search queries to the search engine 120 utilizing thenetwork 110. In response, the search engine 120 may communicate resultsets having websites that match terms included in the search requests.

The search engine 120 is a computing device that provides search resultsin response to search queries. In some embodiments, the search engine120 is configured to execute on a server device. The search engine 120receives search queries from the client devices 130. The search queriesare processed by the search engine 120 to identify websites 180 thatmatch terms included in the search queries. Additionally, the searchqueries are processed by the search engine 120 to traverse the locationdatabase 150 to identify locations for the client devices 130 thattransmitted the search queries to the search engine 120. In turn, thesearch engine 120 transmits search results that include the websitesthat match the terms included in the search queries received from theclient devices 130.

In certain embodiments, the client devices 130 may transmit useractivity logs, such as, but not limited to, tool bar logs, to the searchengine 120. The search toolbar 140 is a utility installed on the clientdevices 130. The search toolbar 140 logs and track the user's visits towebsites 180 on the network 110, submits the user activity logs havingwebsites visited by the user to the search engine 120, and submits aninternet protocol address of the client devices 130 to the search engine120. In certain embodiments, the search toolbar 140 is a component ofthe user's web browser that logs browse activity for every website 180that the user visits. Essentially, the user activity logs identify eachpage that the user visits, the user's internet protocol address, andother important browse activity. The user activity logs received fromthe client devices 130 are used by the search engine 120 to identifylocations for users, to identify locations for websites, and to impact arank of websites that match terms included in user search queries inaccordance with analysis performed by the location service 170 of thesearch engine 120.

The location database 150 is a database the stores location data forwebsites and users. In some embodiments, the location database is alookup table having location data and internet protocol address data.For each uniform resource locator, website, and internet protocoladdress, the lookup table includes a corresponding location. Thelocation may specify the country, state, or municipality for a websitehaving the specified uniform resource locator. The lookup table includesentries having an internet protocol address and corresponding location.For instance, the lookup table may store uniform resource locator“www.va.com.au” having internet protocol address 130.194.1.99 thatcorresponds to a machine located in Clayton, Victoria, Australia. Thelocation database 150 may return the location for a website or a userbased on the internet protocol address received from the search engine120. In some embodiments, the location database 150 may be updated andmaintained by a third-party. For instance, the third-party may beQuova^(SM).

The log data 160 is a database that stores browse activity, such asquery-click activity observed by the search engine 120. The query-clickactivity includes records queries that the user issues to the searchengine 120 and records of clicks a user initiates on results returned bythe search engine 120. Additionally, the log data 160 stores the browseactivity collected from the search toolbar 140. The toolbar logs fromthe client devices 130 are stored in the log data 160. The index data190 stores data for each website indexed by the search engine. The indexdata 190 allows the search engine to quickly compare search termsreceived from the user to the terms in the index 190 to find matchesthat are returned as a set of websites 180 that match the search terms.The index data 190 stores, among other things, uniform resource locatorsthat correspond to each website associated with the anchors.

The search engine 120 is configured with location service 170. Thelocation service 170 generates a location profile for a user or awebsite based on the log data 160. The location service 170 also impactsranks for the websites, suggests corrections to locations obtained fromthe location database 150, and promotes a website within the searchresults returned to a user of the search engine based on the locationprofile for the user and the website. The location service 170 comprisesa rank component 171, a correction component 172, a ULB component 173,and a promoter component 174.

The rank component 171 generates a rank for each website 180 thatmatches the terms included in the user search query. The rank component171 assigns a rank to each website 180 based on multiple factors. Insome embodiments, the rank component 171 performs a statistical analysison the terms in the search query and the terms in website 180. Thelarger a statistical overlap between terms in the search query and theterms in the website 180, the higher the rank. Additionally, the rankcomponent 171 evaluates the location of the website and the location ofthe user to assign the appropriate rank to the website 180.

The correction component 172 locates inconsistencies in the locationsobtained from the location database 150 and corrects the inconsistenciesbased on the aggregate locations observed for users or websites 180. Forinstance, the location database 150 may return the United States ofAmerica as a location for a user based on internet protocol address sentto the location database 150 from the search engine 120. However, afterthe correction component 172 observes the browse activity stored in thelog data 160 for the user, the correction component 172 determines that90% of websites visited by the user are located in Great Britain. Basedon this information, the correction component 172 changes the locationof the user from the United Stated of America to Great Britain.

The correction component 172 performs a similar process to correctlocations for websites 180. For instance, the location database 150 mayreturn France as a location for a website based on an internet protocoladdress of the uniform resource locator sent to the location database150 from the search engine 120. However, after the correction component172 observes the browse activity stored in the log data 160 for thewebsite, the correction component 172 determines that 90% of the usersvisiting the website are located in the United States of America. Basedon this information, the correction component 172 changes the locationof the website from France to the United States of America.

Additionally, the correction component 172 classifies the websites 180or users based on expected global statistical distribution of websites180. The correction component may use Kullback-Leibler (KL) divergencevalues received from the ULB component 173 to identify the appropriatelocation for a website. For instance, the correction component 172 mayobserve a particular user has the following distribution of websites:40% of the websites visited by the user are in the United States ofAmerica; 40% of the websites visited by the user are in Great Britain;and 20% of the website are located elsewhere. The correction component172 compares the user's distribution of websites to an expecteddistribution of all websites on the Internet. The correction component172 aggregates the number of websites in the United States of America,the number of websites in Great Britain, and each of the remainingcountries in the world. In turn, the correction component 172 comparesthe global distribution to the user distribution. For instance, if theglobal distribution of websites was the following: 40% of all websitesare in the United States of America; 40% of all websites are in theGreat Britain; and the remaining websites are distributed among othercountries in the world, the correction component 172 is unable tosuggest a correction for the location of the user, and the locationobtained from the location database 150 is used to classify the user.However, if the user distribution indicated that 70% of the websitesvisited by the user are in Great Britain and only 5% of websites arelocated in the United States of America, the correction component 172classifies the user as being located in Great Britain. The correctioncomponent 172 uses the log data 160, the location database 150, or theKL values to assign the user with an appropriate location. In someembodiments, the correction component 172 uses the anchors pointing tothe website to obtain a location classification for a website 180.Generally, the location of the anchor corresponds to location of thewebsite that the anchor points to. For instance, if a website contains adisproportionately large number of anchors having a location of GreatBritain but the website is classified as having France as the location,the correction component 172 updates the location from France to GreatBritain. In some embodiments, the correction component 172 may assignpriorities to locations received from the location database 150,locations suggested by the correction component 172, and locationssuggested by the ULB component 173.

The ULB component 173 impacts the rank assigned to a website. The ULBcomponent calculates the Kullback-Leibler Divergence to find websitesthat are disproportionately popular at a specified locations:

${{KL}\left( {W,L} \right)} = {{P\left( {W,L} \right)} \cdot {{\log \left( \frac{P\left( {W,L} \right)}{P(L)} \right)}.}}$

The “W” represents a website, the “L” represents a location, “P(W,L)”represents the probability that a user is accessing a website “W” fromlocation “L,” and “P(L) ” represents the probability that a useraccessing any website is from location “L.” The ULB component 173analyzes the log data 160 to calculate P(W,L) and P(L). The ULBcomponent 173 uses the log data 160 to identify, for each website “W,”location “L” where the website “W” is highly popular. The ULB component173 calculates the number of users who visit each website “W” from eachlocation “L” based on the log data 160 and location information providedby the location database 150. For example, the log data 160 for website:www.whistlerblackcomb.com may indicate the following:

USA=50,000; Canada=40,000; Australia=50; Germany=40; Ireland=10.

In other words of the total 90,100 users that visit the websitewww.whistlerblackcomb.com, 50,000 users are located in the United Statesof America, 40,000 users are located in Canada, 50 users are located inAustralia, 40 users are located in Germany, and 10 users are located inIreland.

In turn, the ULB component 173 calculates the following probabilityvalue:

${P\left( {{{www}.{whstlerblackcomb}.{com}},{U.S.A.}} \right)} = {\frac{\text{50,000}}{\text{90,100}} = {{.5549}.}}$

Additionally, the log data 160 and locations from the location database150 may indicate that 30% of all users of the search engine and toolbarare located in the United States of America. The ULB component 173calculates the probability value for a user of the search engine as:

P(USA)=0.30 .

The ULB component 173 uses P(USA) and P(www.whistlerblackcomb.com, USA)to calculate KL(www.whistlerblackcomb.com, USA), which provides anindication of when a website is unusually popular.

${{KL}\left( {{{www}.{whistlerblackcomb}.{com}},{U.S.A.}} \right)} = {{{.5549} \cdot {\log \left( \frac{0.5549}{0.3} \right)}} = {0.34\mspace{14mu} {KL}}}$

After evaluating KL(www.whistlerblackcomb.com, USA), the ULB component173 may compare the KL divergence value to a threshold value, i.e.,0.25, to determine whether the website is unusually popular for thespecified location. A high KL divergence value indicates that thewebsite www.whistlerblackcomb.com is unusually popular in this location(USA).

The KL value compares what the ULB component 173 expects for websiteusage to what the ULB component 173 observes for a particular websiteand location. Generally, the KL value is a large number when the ULBcomponent 173 observes a disproportionately large number of individualsaccessing the particular website from a location that is unexpected andthe KL value is a small number when ULB components 173 observes anexpected number of individuals in the location are visiting the website.For a single website, the ULB component 173 may calculate high KL valuesfor several different locations.

The ULB component 173 may use the KL values to improve the rank for thewebsite 180. If a website 180 has a KL value above a threshold for theuser's location, then the website 180 is promoted in the ranking by therank component 171. In certain embodiments, the rank component 171receives the KL value and incorporates the value in a neural networkranking algorithm that factors the query match, term frequency, KLvalue, and location of the user to assign a rank to the website.Moreover, the ULB component 173 may send the KL values to the correctioncomponent 172 to correct user or website locations by including theunexpectedly popular location as one of the correct locations for thewebsite or user. In some embodiments, each website in an indexassociated with the search engine 120 is tagged with the locations wherethe KL value exceeds the threshold value.

In an alternate embodiment, the ULB component 173 is configured toanalyze anchors pointing to a website obtained from index data. “P(W,L)”is calculated to represent the probability that an anchor pointing to awebsite “W” is from location “L.” “P(L)” is calculated to represent theprobability that an anchor for any website is from location “L.” Forinstance, the ULB component 173 may observe that 60% of the anchorspointing to a website are from the United States of America, 30% of theanchors pointing to these websites are from Great Britain, and 10% ofthe anchors are from elsewhere. In turn, the ULB component 173calculates the KL divergence value for the website for a particularlocation and compares the KL divergence value to the threshold value.When the KL divergence value is above the threshold value, the ULBcomponent 173 sends the KL divergence value to the rank component 171 toassign an appropriate rank to the website, and sends the KL divergencevalue to the correction component 172 to associate the website with aproper location.

The promoter component 174 identifies country, state, and municipalityinformation for a website 180. The municipality information identifiesthe city, county, or town for the website 180. The promoter component174 receives location information from different sources selected fromthe following: Yellow Pages^(SM) data, open directory project (ODP),uniform resource locators, website content, or locations obtained fromwebsites by the ULB component 173 using either log data or anchor data.The Yellow Pages^(SM) data is collected by a third-party and containsthe website uniform resource locator and contact information, such astelephone number, state, city, and zip code. The ODP data includes datathat is generated by a collection of editors. The editors receive andstore contact information for each website that is included in the opendirectory project. The uniform resource locators or website content areparsed by the promoter component 174 to extract location information.For instance, the promoter component 174 may extract a country componentfrom a uniform resource locator: http://www.va.com.au, the “au” portionof the uniform resource locator means Australia. Alternatively, theuniform resource locator or website content may include terms for astate or city. For instance, a page that has an address for Seattle,Wash. is relevant to the location Seattle, Wash. and is extracted by thepromoter component 174.

In turn, the promoter component 174 receives location information fromone or more of these sources. In some embodiments, the promotercomponent 174 assigns a value of “1” to each source and aggregates theassigned value for a number of sources that return similar locationinformation, i.e., state data or municipality data. The number ofsources that return similar location information is sent to the rankcomponent 171 to increase the rank for the website corresponding toobtained location information.

In an embodiment, the promoter component 174 sends the locationinformation returned by the at least three sources to the correctioncomponent 172 to locate inconsistencies. For instance, the correctioncomponent 172 may observe that a website 180 classified with Texas asthe location may have a large number of users from Washington statevisiting the website 180. The correction component 172 may suggest thatthe Washington state location is a better location. In turn, thecorrection component identifier Washington state as the high prioritylocation for the website identifies Texas as a low priority location.

In an embodiment, the search engine 120 updates the index that is usedto return results to the user to include one or more locationsidentified by the location service 170 for each website stored in theindex. For instance, the search engine 120 may add “Seattle Wash. USA”to the index for SpaceNeedle.com based on the suggestions from thelocation service 170. The location service 170 may suggest the location“Seattle Wash. USA” for the website SpaceNeedle.com because the log data160 indicates that many users in Seattle visit the websiteSpaceNeedle.com. In some embodiments, the search engine 120 receivesupdates from the location service 170 and updates the indexperiodically, i.e., daily, weekly, monthly, or quarterly, etc, withoutuser intervention. Alternatively, the updates may be performed manuallyafter receiving the suggestions from the location service 170.

Accordingly, location service 170 of the search engine may use, amongother things, the location database 150, KL divergence values, YellowPages^(SM) data, ODP data, page content, and uniform resource locatorsto identify a location for a website or a user.

One of ordinary skill in the art understands and appreciates theoperating environment 100 has been simplified for description purposesand alternate operating environments are within the scope and spirit ofthe above description.

In certain embodiments, a search engine configured with locationservices associates a webpage with a location. The location service useslog data having browse activity for users of the search engine. Based onthe browse activity the location service identifies a location for thewebsite and returns suggestions that impact the rank assigned to thewebsites.

FIG. 2 is a logic diagram that illustrates a computer-implemented methodfor associating locations with websites based on user locations. Thecomputer-implemented method initiates in step 210. In step 220, thelocation service of the search engine retrieves log data having uniformresource locators for websites from a plurality of users. The log datacomprises tool bar logs and search logs. In turn, the location serviceorganizes the log data based on websites, in step 230. In step 240, foreach website, the location service obtains locations for the pluralityof users from a location database. In step 250, the location servicegroups the plurality of users based on the obtained locations. Thelocation service counts a number of the plurality of users at each ofthe obtained locations, in step 260. In step 270, the location serviceselects the obtained locations having more of the plurality of usersthan any other obtained locations. In step 280, the location serviceassociates the selected location with the website. In step 290, thecomputer-implemented method terminates.

In another embodiment, the search engine configured with the locationservices associates a webpage with a location. The location service usesindex data having anchors pointing to the websites. Based on the anchorspointing to the website, the location service identifies a location forthe website, and the identified location impacts the rank assigned tothe websites.

FIG. 3 is a logic diagram that illustrates a computer-implemented methodfor associating locations with websites based on anchor locations. Thecomputer-implemented method initiates in step 310. The location serviceextracts anchors pointing to each website, in step 311. In step 312, foreach website, the location service obtains locations for each anchorfrom a location database. In step 313, the location service groups theanchors based on the obtained locations. In step 314, the locationservice counts a number of anchors at each of the obtained locationspointing to the website. In step 315, the location service selects thelocations having more anchors than any other obtained location. In step316, the location service associates the selected location with thewebsite. The computer-implemented method terminates in step 317.

In other embodiments, the search engine configured with the locationservices alters a rank for a website based on location. The locationservices uses location information from at least three sources to obtainlocations for a website. Based on the overlap and similarity of thelocations from the at least three sources, a rank of the website relatedto the location is increased.

FIG. 4 is a logic diagram that illustrates a computer-implemented methodfor ranking a website based on location. The computer-implemented methodinitiates in step 410. In step 420, the location service selects awebsite. In step 430, the location service identifies a location for thewebsite from at least three sources. In step 440, the location servicecounts a number of sources having similar locations for the website. Instep 450, the location service communicates with the search engine toincrease a rank—based on the count—for the web site in a result setreturned to a user that issued a search query to a search engine. Theuser has a location similar to the identified location of the website.Additionally, in some embodiments, the search query issued by the usermay include the identified location. The computer-implemented methodterminates in step 460.

In summary, a search engine is configured to identify locations forwebsites and users and to increase a rank for a website based on thelocation associated with the website. The search engine is configured toidentify, among other things, a country, state, and municipally for eachwebsite. Additionally, the search engine may correct inconsistencies forlocation information of websites or users received from third parties.

The foregoing descriptions of the invention are illustrative, andmodifications in configuration and implementation will occur to personsskilled in the art. For instance, while the present invention hasgenerally been described with relation to FIGS. 1-4, those descriptionsare exemplary. Although the subject matter has been described inlanguage specific to structural features or methodological acts, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to the specific features or acts describedabove. Rather, the specific features and acts described above aredisclosed as example forms of implementing the claims. The scope of theinvention is accordingly intended to be limited only by the followingclaims.

The technology claimed is:
 1. A computer-implemented method forassociating a location with a website, the method comprising: retrievinglog data having uniform resource locators for websites from a pluralityof users; organizing the log data based on websites; for each website,obtaining, from a location database, locations for the plurality ofusers that visited that website indicated by the log data ; grouping theplurality of users based on the obtained locations; counting a number ofthe plurality of users at each of the obtained locations; selecting theobtained location having more of the plurality of users than any otherobtained location; and associating the selected location with thewebsite.
 2. The computer-implemented method of claim 1, wherein the logdata comprises data from user activity logs and search logs.
 3. Thecomputer-implemented method of claim 1, further comprising ranking thewebsites based on location using a Kullback-Leibler divergence.
 4. Thecomputer-implemented method of claim 3, wherein a website that isunexpectedly popular in the associated location is assigned a higherrank than websites that meet popularity expectations.
 5. Thecomputer-implemented method of claim 1, wherein the location database isprovided by a third-party.
 6. The computer-implemented method of claim5, further comprising for each user of the plurality of users,reevaluating the obtained locations based on the associated locationsfor the websites visited by the user.
 7. The computer-implemented methodof claim 6, further comprising updating the obtained location of theuser to correspond to the associated location of a majority of thewebsites visited by the user.
 8. One or more computer-readable mediahaving computer-executable instructions embodied thereon for a method toassociate a location with a website, the method comprising: retrievingindex data having page content for websites; organizing the index databased on websites; extracting anchors pointing to within each website;for each website, obtaining locations for each anchor from a locationdatabase; grouping the anchors based on the obtained locations; countinga number of anchors at each of the obtained locations; selecting theobtained location having more of the anchors than any other obtainedlocation; and associating the selected location with the website.
 9. Themedia of claim 8, wherein the location database is provided by athird-party.
 10. The media of claim 9, further comprising for eachanchor, reevaluating the obtained locations based on the associatedlocations for the websites having the anchors.
 11. The media of claim10, further comprising updating the obtained location of the anchor tocorrespond to the associated location of a majority of the websites thatthe anchor points to.
 12. A computer-implemented method for ranking awebsite based on location, the method comprising: selecting a website;identifying a location for the website from multiple sources; counting anumber of sources having similar locations for the website; ranking thewebsites based on location using a Kullback-Leibler divergence, whereina website that is unexpectedly popular in the associated location isassigned a higher rank than websites that meet popularity expectations;and increasing a rank, based on the count, for the website in a resultsset returned to a user that issued a query to a search engine, whereinthe user has a location similar to the identified location of thewebsite.
 13. The computer-implemented method of claim 12, wherein themultiple sources include page content, Yellow Pages^(SM) data, opendirectory project data, and data obtained from a ULB component of asearch engine.
 14. The computer-implemented method of claim 13, whereinthe page content includes location data within the website.
 15. Thecomputer-implemented method of claim 13, wherein location data withinthe uniform resource locator for the website is assigned to be thelocation of the website.
 16. The computer-implemented method of claim12, wherein the location includes country, state, or municipality. 17.The computer-implemented method of claim 13, wherein the location datamay indicate that users visit a place corresponding to the website. 18.The computer-implemented method of claim 13, wherein the location datamay be derived from browsing activity for users of the search engine.19. The computer-implemented method of claim 13, further comprisingdetermining whether there is overlap of the location data provided bythe multiple sources.
 20. The computer-implemented method of claim 19,further comprising altering the rank based on the degree of overlap.